//
// Created by benxb on 2021/11/15.
//

#include "catelog/table.h"
#include "gtest/gtest.h"
#include "common/logger.h"

namespace benxdb {

TEST(TableTest, TestSaveReadData) {
    Table test_table("laser");
    test_table.AddColumn(Column("x", TypeId::DECIMAL));
    test_table.AddColumn(Column("y", TypeId::DECIMAL));
    test_table.AddColumn(Column("z", TypeId::DECIMAL));
    test_table.AddColumn(Column("intensity", TypeId::DECIMAL));
    test_table.SetCustomData("model_no", "v_201");
    test_table.SetCustomData("date", "2021-11-16");
    test_table.SaveMetaData();

    Table out_table("laser");
    std::vector<Column> columns;
    out_table.SetAllColumn(columns);
    for (const Column& col : columns) {
        LOG_DEBUG("col_name: %s %d", col.GetName().data(), col.GetType());
    }

    for (std::pair<std::string, std::string> kv : out_table.GetAllCustomData()) {
        LOG_DEBUG("custom_data: %s: %s", kv.first.data(), kv.second.data());
    }
}
}

int main(int argc, char **argv) {
    testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
}
